package com.ruoyi.web.xxj.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 课程信息对象 class_info
 *
 * @author ruoyi
 * @date 2024-01-24
 */

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("课程信息")
public class ClassInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty("课程信息主键ID")
    private Long id;

    /**
     * 课程名称
     */
    @ApiModelProperty("课程名称")
    @Excel(name = "课程名称")
    private String name;

    /**
     * 课程类型主键ID
     */
    @ApiModelProperty("课程类型主键ID")
    @Excel(name = "课程类型主键ID")
    private Long type;

    @ApiModelProperty("课程相关图片")
    private String imgUrl;

    /**
     * 课程介绍
     */
    @ApiModelProperty("课程介绍")
    @Excel(name = "课程介绍")
    private String introduction;

    /**
     * 课程价格
     */
    @ApiModelProperty("课程价格")
    @Excel(name = "课程价格")
    private BigDecimal price;

    /**
     * 报名截止时间
     */
    @ApiModelProperty("报名截止时间，格式： yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报名截止时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date deadline;

    /**
     * 报名截止时间
     */
    @ApiModelProperty("活动开始时间，格式： yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 报名截止时间
     */
    @ApiModelProperty("活动结束时间，格式： yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 课程状态：0-正常，1-停用
     */
    @ApiModelProperty("课程状态：0-正常，1-停用")
    @Excel(name = "课程状态：0-正常，1-停用")
    private String status;

    /**
     * 课程负责人
     */
    @ApiModelProperty("课程负责人")
    @Excel(name = "课程负责人")
    private String charge;

    /**
     * 课程负责人联系电话
     */
    @ApiModelProperty("课程负责人联系电话")
    @Excel(name = "课程负责人联系电话")
    private String chargePhone;

    @ApiModelProperty("是否热门推荐")
    private String isHot;

    @ApiModelProperty("地址")
    private String address;

    @ApiModelProperty("查看次数")
    private Long viewCount;

    @ApiModelProperty("文创产品ID")
    private Long productId;

    @ApiModelProperty("文创对象")
    private Product product;

    public ClassInfo(String status) {
        super();
        this.status = status;
    }

	public ClassInfo(String status, String isHot) {
		super();
		this.status = status;
		this.isHot = isHot;
	}

}
